#ifndef __TASK_H
#define __TASK_H
#include "includes.h"
#include "sys.h"
#include "variable.h"
#include "delay.h"

#define ADC_TASK_PRIO 3
#define ADC_STK_SIZE  128
extern OS_STK adc_task_STK[ADC_STK_SIZE];
void          adc_task(void *pdata);

#define MODE_CTL_TASK_PRIO 4
#define MODE_CTL_STK_SIZE  128
extern OS_STK MODE_CTL_TASK_STK[MODE_CTL_STK_SIZE];
void          mode_ctl_task(void *pdata);

#define MODE_WORK_TASK_PRIO 5
#define MODE_WORK_STK_SIZE  256
extern OS_STK MODE_WORK_TASK_STK[MODE_WORK_STK_SIZE];
void          mode_work_task(void *pdata);

#define USART_TASK_PRIO 6
#define USART_STK_SIZE  512
extern OS_STK USART_TASK_STK[USART_STK_SIZE];
void          uasrt_task(void *pdata);

#define FUNC_TASK_PRIO 8
#define FUNC_STK_SIZE  256
extern OS_STK FUNC_TASK_STK[FUNC_STK_SIZE];
void          func_task(void *pdata);

#define LCD_TASK_PRIO 9
#define LCD_STK_SIZE  512
extern OS_STK LCD_TASK_STK[LCD_STK_SIZE];
void          lcd_task(void *pdata);

#define CTL_PD                    PBout(8)
#define CTL_CHG                   PBout(9)
#define CC_P                      PAout(0)
#define CC_STORAGE_P                 PAout(2)

void lcd_send_msg(char *fmt, ...);
void lcd_task(void *pdata);
void lcd_ctl(u8 cnt, u8 key);
#endif
